package cn.orangelite.ai.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.orangelite.common.core.annotation.Excel;
import cn.orangelite.common.core.web.domain.BaseEntity;

/**
 * gpt角色对象 ai_gpt_role
 *
 * @author dongfaqing
 * @date 2024-01-18
 */
public class AiGptRole extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 角色名 */
    @Excel(name = "角色名")
    private String roleName;

    /** 角色描述 */
    @Excel(name = "角色描述")
    private String roleDescribe;

    /** 数据版本（默认为0，每次编辑+1） */
    @Excel(name = "数据版本", readConverterExp = "默=认为0，每次编辑+1")
    private Long dataVersion;

    /** 创建人编号（默认为0） */
    @Excel(name = "创建人编号", readConverterExp = "默=认为0")
    private Long creator;

    /** 操作人编号（默认为0） */
    @Excel(name = "操作人编号", readConverterExp = "默=认为0")
    private Long operator;

    /** 操作时间（每次更新时自动更新） */
    @Excel(name = "操作时间", readConverterExp = "每=次更新时自动更新")
    private Date operateTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setRoleName(String roleName)
    {
        this.roleName = roleName;
    }

    public String getRoleName()
    {
        return roleName;
    }
    public void setRoleDescribe(String roleDescribe)
    {
        this.roleDescribe = roleDescribe;
    }

    public String getRoleDescribe()
    {
        return roleDescribe;
    }
    public void setDataVersion(Long dataVersion)
    {
        this.dataVersion = dataVersion;
    }

    public Long getDataVersion()
    {
        return dataVersion;
    }
    public void setCreator(Long creator)
    {
        this.creator = creator;
    }

    public Long getCreator()
    {
        return creator;
    }
    public void setOperator(Long operator)
    {
        this.operator = operator;
    }

    public Long getOperator()
    {
        return operator;
    }
    public void setOperateTime(Date operateTime)
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime()
    {
        return operateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("roleName", getRoleName())
                .append("roleDescribe", getRoleDescribe())
                .append("dataVersion", getDataVersion())
                .append("creator", getCreator())
                .append("createTime", getCreateTime())
                .append("operator", getOperator())
                .append("operateTime", getOperateTime())
                .toString();
    }
}
